/**
 * ____________________ *
 *  ____ ____ ____ _  _ *
 *  |___ [__] |--< |\/| *
 * ____________________ *
 *
 * THE CORM PROJECT
 *
 * This file may only be used in accordance with the
 * terms of the Academic Free License ("AFL") v. 3.0,
 * as published by the Open Software Initiative.  A
 * copy of this license is provided in this source
 * release, and may be viewed online at:
 *
 * (http://www.opensource.org/licenses/afl-3.0.php)
 */
package org.eremite.corm.money;

import org.jscience.economics.money.Money;
import org.jscience.physics.amount.Amount;

import java.util.Date;

public class PaymentCard extends PaymentMethod<Money> {
    private String cardAssociationName;
    private String cardNumber;
    private String nameOnCard;
    private Date expiryDate;
    private String billingAddress; // should this be an Address?
    private Date validFrom;
    private String cardVerificationString;
    private String issueNumber;
    private Amount<Money> dailyWithdrawalLimit;

    public String getCardAssociationName() {
        return cardAssociationName;
    }

    public void setCardAssociationName(String cardAssociationName) {
        this.cardAssociationName = cardAssociationName;
    }

    public String getCardNumber() {
        return cardNumber;
    }

    public void setCardNumber(String cardNumber) {
        this.cardNumber = cardNumber;
    }

    public String getNameOnCard() {
        return nameOnCard;
    }

    public void setNameOnCard(String nameOnCard) {
        this.nameOnCard = nameOnCard;
    }

    public Date getExpiryDate() {
        return expiryDate;
    }

    public void setExpiryDate(Date expiryDate) {
        this.expiryDate = expiryDate;
    }

    public String getBillingAddress() {
        return billingAddress;
    }

    public void setBillingAddress(String billingAddress) {
        this.billingAddress = billingAddress;
    }

    public Date getValidFrom() {
        return validFrom;
    }

    public void setValidFrom(Date validFrom) {
        this.validFrom = validFrom;
    }

    public String getCardVerificationString() {
        return cardVerificationString;
    }

    public void setCardVerificationString(String cardVerificationString) {
        this.cardVerificationString = cardVerificationString;
    }

    public String getIssueNumber() {
        return issueNumber;
    }

    public void setIssueNumber(String issueNumber) {
        this.issueNumber = issueNumber;
    }

    public Amount<Money> getDailyWithdrawalLimit() {
        return dailyWithdrawalLimit;
    }

    public void setDailyWithdrawalLimit(Amount<Money> dailyWithdrawalLimit) {
        this.dailyWithdrawalLimit = dailyWithdrawalLimit;
    }
}
